home *** CD-ROM | disk | FTP | other *** search
- unit POETClasses;
-
- interface
- uses POETAutomation_TLB, Dialogs;
-
- type
-
- PtEmployee = class
- PtObj: OleVariant;
- function GetSurrogate: string;
- procedure Store(value: integer);
- procedure Delete(value: integer);
- procedure SetId (value: string);
- function GetId: string;
- procedure SetFname(value: string);
- function GetFname: string;
- procedure SetLname(value: string);
- function GetLname: string;
- procedure SetAddr(value: string);
- function GetAddr: string;
- procedure SetCity(value: string);
- function GetCity: string;
- procedure SetState(value: string);
- function GetState: string;
- procedure SetZip(value: string);
- function GetZip: string;
- procedure RequestSalaryIncrease; virtual;
- end;
-
- PtSalesMgr = class(PtEmployee)
- procedure SetCompanyCar(value: Boolean);
- function GetCompanyCar: Boolean;
- procedure SetGymMembership (value: Boolean);
- function GetGymMembership: Boolean;
- procedure SetStocks (value: integer);
- function GetStocks: integer;
- function GetCurrentSales: integer;
- function GetTargetSales: integer;
- procedure SetSalesReps (value: OleVariant);
- function GetSalesReps: OleVariant;
- procedure RequestSalaryIncrease; override;
- end;
-
- PtSalesRep = class(PtEmployee)
- procedure SetCurrentSales (value: integer);
- function GetCurrentSales: integer;
- procedure SetTargetQuota (value: integer);
- function GetTargetQuota: integer;
- procedure SetAccounts (value: OleVariant);
- function GetAccounts: OleVariant;
- procedure SetSalesMgr(var value: PtSalesMgr);
- function GetSalesMgr: OleVariant;
- procedure RequestSalaryIncrease; override;
- end;
-
- PtAccount = class
- PtObj: OleVariant;
- procedure Store(value: integer);
- procedure Delete(value: integer);
- function GetSurrogate: string;
- procedure SetName(value: string);
- function GetName: string;
- procedure SetId(value: string);
- function GetId: string;
- procedure SetContact(value: string);
- function GetContact: string;
- procedure SetSalesReps(value: OleVariant);
- function GetSalesReps: OleVariant;
- end;
-
- implementation
-
- uses
- Main;
-
- //PtEmployee methods
-
- function PtEmployee.GetSurrogate: string;
- begin
- Result := PtObj.surrogate;
- end;
-
- procedure PtEmployee.Store(value: integer);
- begin
- PtObj.Store(value);
- end;
-
- procedure PtEmployee.Delete(value: integer);
- begin
- PtObj.Delete(value);
- end;
-
- procedure PtEmployee.SetId(value: string);
- begin
- PtObj.SetAttribute('Emplid', value);
- end;
- function PtEmployee.GetId: string;
- begin
- Result := PtObj.GetAttribute('Emplid');
- end;
-
- procedure PtEmployee.SetFname(value: string);
- begin
- PtObj.SetAttribute('Fname', value);
- end;
- function PtEmployee.GetFname: string;
- begin
- Result := PtObj.GetAttribute('Fname');
- end;
-
- procedure PtEmployee.SetLname(value: string);
- begin
- PtObj.SetAttribute('Lname', value);
- end;
- function PtEmployee.GetLname: string;
- begin
- Result := PtObj.GetAttribute('Lname');
- end;
-
- procedure PtEmployee.SetAddr(value: string);
- begin
- PtObj.SetAttribute('Addr', value);
- end;
- function PtEmployee.GetAddr: string;
- begin
- Result := PtObj.GetAttribute('Addr');
- end;
-
- procedure PtEmployee.SetCity(value: string);
- begin
- PtObj.SetAttribute('City', value);
- end;
- function PtEmployee.GetCity: string;
- begin
- Result := PtObj.GetAttribute('City');
- end;
-
- procedure PtEmployee.SetState(value: string);
- begin
- PtObj.SetAttribute('State', value);
- end;
- function PtEmployee.GetState: string;
- begin
- Result := PtObj.GetAttribute('State');
- end;
-
- procedure PtEmployee.SetZip(value: string);
- begin
- PtObj.SetAttribute('Zip', value);
- end;
- function PtEmployee.GetZip: string;
- begin
- Result := PtObj.GetAttribute('Zip');
- end;
-
- procedure PtEmployee.RequestSalaryIncrease;
- begin
- Messagedlg('Please, please give me a 10% raise!', mtWarning, [mbOK],0);
- end;
-
- //PtSalesMgr methods
-
- procedure PtSalesMgr.SetCompanyCar(value: boolean);
- begin
- PtObj.SetAttribute('CompanyCar',value);
- end;
- function PtSalesMgr.GetCompanyCar: boolean;
- begin
- Result := PtObj.GetAttribute('CompanyCar');
- end;
-
- procedure PtSalesMgr.SetGymMembership(value: boolean);
- begin
- PtObj.SetAttribute('GymMembership', value);
- end;
- function PtSalesMgr.GetGymMembership: boolean;
- begin
- Result := PtObj.GetAttribute('GymMembership');
- end;
-
- procedure PtSalesMgr.SetStocks(value: integer);
- begin
- PtObj.SetAttribute('StockOptions', value);
- end;
- function PtSalesMgr.GetStocks: integer;
- begin
- Result := PtObj.GetAttribute('StockOptions');
- end;
-
- function PtSalesMgr.GetCurrentSales: integer;
- var
- i: integer;
- begin // A SalesMgr's Current Sales
- i := 0; // are the total sales
- SmSalesReps := SalesMgr.GetSalesReps; // of the SalesMgr's assigned
- If SmSalesReps.First then repeat // SalesReps
- SmSalesRep.PtObj := SmSalesReps.Get;
- i := i + SmSalesRep.GetCurrentSales;
- until not SmSalesReps.Next;
- Result := i;
- end;
-
- function PtSalesMgr.GetTargetSales: integer;
- var
- i: integer;
- begin // A SalesMgr's Target Sales
- i := 0; // are the total Target Quotas
- SmSalesReps := SalesMgr.GetSalesReps; // of the SalesMgr's assigned
- If SmSalesReps.First then repeat // SalesReps
- SmSalesRep.PtObj := SmSalesReps.Get;
- i := i + SmSalesRep.GetTargetQuota;
- until not SmSalesReps.Next;
- Result := i;
- end;
-
- procedure PtSalesMgr.SetSalesReps(value: OleVariant);
- begin
- PtObj.SetAttribute('SalesReps', value);
- end;
- function PtSalesMgr.GetSalesReps: OleVariant;
- begin
- Result := PtObj.GetAttribute('SalesReps');
- end;
-
- procedure PtSalesMgr.RequestSalaryIncrease;
- begin
- Messagedlg('I want more stock options!', mtWarning, [mbYes], 0);
- end;
-
- //PtSalesRep methods
-
- procedure PtSalesRep.SetCurrentSales(value: integer);
- begin
- PtObj.SetAttribute('CurrentSales', value);
- end;
- function PtSalesRep.GetCurrentSales: integer;
- begin
- Result := PtObj.GetAttribute('CurrentSales');
- end;
-
- procedure PtSalesRep.SetTargetQuota(value: integer);
- begin
- PtObj.SetAttribute('TargetQuota', value);
- end;
- function PtSalesRep.GetTargetQuota: integer;
- begin
- Result := PtObj.GetAttribute('TargetQuota');
- end;
-
- procedure PtSalesRep.SetAccounts(value: OleVariant);
- begin
- PtObj.SetAttribute('Accounts') := value;
- end;
- function PtSalesRep.GetAccounts: OleVariant;
- begin
- Result := PtObj.GetAttribute('Accounts');
- end;
-
- procedure PtSalesRep.SetSalesMgr(var value: PtSalesMgr);
- begin
- PtObj.SetAttribute('SalesMgr', value.PtObj);
- end;
-
-
- function PtSalesRep.GetSalesMgr: OleVariant;
- begin
- Result := PtObj.GetAttribute('SalesMgr');
- end;
-
- procedure PtSalesRep.RequestSalaryIncrease;
- begin
- Messagedlg('I deserve a 20% raise!', mtWarning, [mbYes], 0);
- end;
-
-
- //PtAcct methods
-
- procedure PtAccount.Store(value: integer);
- begin
- PtObj.Store(value);
- end;
-
- procedure PtAccount.Delete(value: integer);
- begin
- PtObj.Delete(value);
- end;
-
- function PtAccount.GetSurrogate: string;
- begin
- Result := PtObj.surrogate;
- end;
-
- procedure PtAccount.SetName(value: string);
- begin
- PtObj.SetAttribute('AcctName', value);
- end;
- function PtAccount.GetName: string;
- begin
- Result := PtObj.GetAttribute('AcctName');
- end;
-
- procedure PtAccount.SetId(value: string);
- begin
- PtObj.SetAttribute('AcctId', value);
- end;
- function PtAccount.GetId: string;
- begin
- Result := PtObj.GetAttribute('AcctId');
- end;
-
- procedure PtAccount.SetContact(value: string);
- begin
- PtObj.SetAttribute('Contact', value);
- end;
- function PtAccount.GetContact: string;
- begin
- Result := PtObj.GetAttribute('Contact');
- end;
-
- procedure PtAccount.SetSalesReps(value: OleVariant);
- begin
- PtObj.SetAttribute('SalesReps') := value;
- end;
- function PtAccount.GetSalesReps: OleVariant;
- begin
- Result := PtObj.GetAttribute('SalesReps');
- end;
-
- end.
-